﻿using Mjolnir.Modelo.Ponteiros;

namespace Mjolnir.Modelo.Linhas
{
  public interface IServicoLinha
  {
    /// <summary>
    /// Criar uma array (createArray).
    /// </summary>
    /// <param name="numero">numero.</param>
    /// <returns></returns>
    Linha[] criarArray(int numero);

    /// <summary>
    /// Copiar de (copyFrom).
    /// </summary>
    /// <param name="fonte">fonte.</param>
    void copiarDe(Linha fonte);

    /// <summary>
    /// Posicao cruzada (crossPos).
    /// </summary>
    /// <param name="linha1">linha.</param>
    /// <param name="linha2">linha.</param>
    /// <param name="ponteiroDuplo2D">ponteiro2D.</param>
    /// <returns></returns>
    bool posicaoCruzada(Linha linha1, Linha linha2, ref Ponteiro2D ponteiro2D);
  }
}